const path = require('path')
function resolve(dir) {
  return path.join(__dirname, dir)
}
module.exports = {
  publicPath: '/',
  outputDir: 'dist',
  assetsDir: '',
  indexPath: 'index.html',
  lintOnSave: 'error',
  chainWebpack: config => {
    const svgRule = config.module.rule('svg')
    // 清除已有的所有 loader。
    // 如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
    svgRule.uses.clear()
    svgRule.include.add(resolve('src/icons'))
    // 添加要替换的 loader
    svgRule
      .test(/\.svg$/)
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })

    // 修改images loader 添加svg处理
    const imagesRule = config.module.rule('images')
    imagesRule.exclude.add(resolve('src/icons'))
    imagesRule.test(/\.(png|jpe?g|gif|webp|svg)(\?.*)?$/)
  },
  css: {
    loaderOptions: {
      // 给 sass-loader 传递选项
      sass: {
        // 将variables.scss文件的变量作为全局变量
        additionalData: `@import "@/assets/scss/_variables.scss";`
      }
    }
  }
}
